package com.mzj.saas.mservice.property.entity;

import com.mzj.saas.mservice.sys.entity.IdEntity;
import lombok.Data;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Table;
import java.math.BigDecimal;
import java.util.Date;

/**
 * 物业房产-租金/押金账单明细
 */
@Entity
@Table(name = "saas_estate_rent_bill")
@Data
public class EstateRentBill extends IdEntity {
    /*
     *房屋id
     */
    @Column(name = "house_id", nullable = true)
    private String houseId;
    /*
     *小区
     */
    @Column(name = "community_id", nullable = true)
    private String communityId;
    /*
     *楼栋
     */
    @Column(name = "building_num", nullable = true)
    private Long buildingNum;
    /*
     *单元
     */
    @Column(name = "unit", nullable = true)
    private Long unit;
    /*
     *房号
     */
    @Column(name = "room_number", nullable = true)
    private String roomNumber;
    /*
     *产权单位
     */
    @Column(name = "org_id", nullable = true)
    private Long orgId;
    /*
     *承租人
     */
    @Column(name = "match_user_id", nullable = true)
    private String matchUserId;
    /*
     *收费项目:1租金 2押金
     */
    @Column(name = "charge_type", nullable = true)
    private Integer chargeType;
    /*
     *计量单位
     */
    @Column(name = "measure_unit", nullable = true)
    private String measureUnit;
    /*
     *费用 单位分
     */
    @Column(name = "cost", nullable = true)
    private Integer cost;
    /*
     *缴费周期开始时间
     */
    @Column(name = "start_time", nullable = true)
    private Date startTime;
    /*
     *缴费周期结束时间
     */
    @Column(name = "end_time", nullable = true)
    private Date endTime;
    /*
     *审核状态：0未审核 1已审核
     */
    @Column(name = "audit_status", nullable = true)
    private Integer auditStatus;
    /*
     *缴费状态：0.未缴费;1.已缴费;2.部分缴费;3.无需缴费
     */
    @Column(name = "payment_status", nullable = true)
    private Integer paymentStatus;
    /*
     *应缴费时间
     */
    @Column(name = "should_pay_time", nullable = true)
    private Date shouldPayTime;
    /*
     *缴费时间
     */
    @Column(name = "payment_time", nullable = true)
    private Date paymentTime;
    /*
     *生成时间
     */
    @Column(name = "create_time", nullable = true)
    private Date createTime;

    /*
    缴费渠道：1线上微信、2线上支付宝 3线下微信 4线下支付宝 5现金 6无需缴费
     */
    @Column(name = "payment_channel", nullable = true)
    private Integer paymentChannel;
    /*
     * 剩余费用
     */
    @Column(name = "surplus_cost", nullable = true)
    private Integer surplusCost;

    @Column(name = "rule_id", nullable = true)
    private String ruleId;

    /*
     *调整状态 0未调整 1已调整
     */
    @Column(name = "adjust_status", nullable = true)
    private Integer adjustStatus;

    /*
     *备注
     */
    @Column(name = "remark", nullable = true)
    private String remark;

    /*
     *原金额
     */
    @Column(name = "original_cost", nullable = true)
    private BigDecimal originalCost;

}
